package com.xdf.ecommerce.filter;

import com.xdf.ecommerce.vo.LoginUserInfo;

/**
 * 使用 ThreadLocal 单独存储每一个线程携带的 LoginUserInfo
 * 要注意及时清理其中的数据
 * 1. 不要产生内存泄露
 * 2. 线程重用时，不会数据混乱，保证使用自己的数据
 * @author chanchaw
 * @create 2025-10-24 16:44
 */
public class AccessContext {
    private static final ThreadLocal<LoginUserInfo> loginUserInfo = new ThreadLocal<>();
    public static LoginUserInfo getLoginUserInfo(){
        return loginUserInfo.get();
    }
    public static void setLoginUserInfo(LoginUserInfo loginUserInfo_){
        loginUserInfo.set(loginUserInfo_);
    }
    public static void clearLoginUserInfo(){
        loginUserInfo.remove();
    }
}
